Method of, and system for, coding analogue signals

ABSTRACT

In a code excited linear prediction (CELP) analog signal coding system sequences from a master codebook (40), which may be a one dimensional codebook, are filtered (42) and then stored in slave codebooks (70,72). Input analog siganls (20)are filtered (34,36) and compared orthogonally (66,78,80) with sequences from the slave codebooks and an optimum pair of sequences are selected. Reduced length sequences from the master codebook may be compared with orthogonalized analog signals since orthogonalized siganls contain some redundancy.

TECHNICAL FIELD

The present invention relates to a method of, and system for, the codingof analogue signals having particular, but not exclusive, application toa low bit-rate speech coder for use in telecommunications. The presentinvention also relates to a corresponding method of, and system for,re-synthesising a perceptually close replica of the analogue signalsoriginally coded.

BACKGROUND ART

For convenience of description the invention will be described withreference to a speech codec (coder-decoder) but the invention is alsoapplicable to the coding and re-synthesising of other types of analoguesignals, for example video. Digital techniques for the coding of speechare growing in popularity for a number of reasons, notably flexibility,cost and robustness to noise. One such technique is called Code ExcitedLinear Prediction (CELP) wherein the incoming speech signal is sampled,segmented into frames and encoded using a process which involvescomparing it with sequences taken from a known codebook. The indexnumber of the codebook sequence that provides the best match to eachframe of the incoming speech is then stored or transmitted together withsome gain and filter parameters. This type of coder belongs to the classof analysis by synthesis coders, so named since they synthesise a largenumber of possible matches for the signal to be coded and then usecomparison techniques to analyse the incoming signal. The correspondingdecoder or re-synthesiser will generally include a synthesis sectionsimilar to that of the coder.

"Fast CELP coding based on algebraic codes" by J-P. Adoul, P. Mabilleau,M. Delprat and S. Morissette, read at the International Conference onAcoustics, Speech and Signal Processing (ICASSP) 1987, pages 1957-1960discloses a simple CELP speech coding system which is described brieflyhere.

The output of a source of original speech is fed to a sampling andsegmentation means which quantises the speech at an appropriate samplingrate such as 8 kHz and segments it into frames with a length of, forexample, 5 ms. The output of the segmentation means comprises sampled,segmented speech which is fed to a non-inverting input of a summer andto a Linear Predictive Coder (LPC). The LPC derives a set of filtercoefficients relating to the short term redundancy in the incomingspeech signal.

A two-dimensional codebook contains K stochastic sequences of sampledwhite Gaussian noise, each of length N samples. The frames of sampledspeech from the segmentation means also have a length of N samples. Thecodebook sequences are referred to as c^(k) (n), where k is the codebookindex and n is the particular sample number within a given sequencenumber k. The selected output sequence c^(k) (n) is fed to a gain stagehaving a gain G which gain is derived mathematically for each block ofthe sampled speech and each codebook sequence. The output of the gainstage is filtered successively in a long term filter and a short termfilter. The long term filter usually has only one tap and a relativelylong delay that is usually greater than the length of the frames ofsampled speech. The purpose of the long term filter is to impose somelong term order upon the codebook sequence and since the frequency ofthis long term order is more often than not the pitch of the speechbeing synthesised, this filter is also referred to as the pitchpredictor. The transfer function of the long term filter is 1/B(z) andthe filter coefficient may be derived by an adaptive loop or by analysisof the incoming speech signal. The short term filter has much shorterdelays but a much larger number of taps (typically 10 to 20) than thelong term filter. The purpose of the short term filter is to impose someshort term order upon the codebook sequence which results, in realspeech, from the speaker's vocal tract and so this filter is oftenreferred to as the vocal tract filter. The transfer function of thisfilter is 1/A(z) and the filter coefficients are supplied to the filterby the LPC. The output of the short term filter is a synthetic speechsignal which is fed to an inverting input of the summer. The output ofthe summer is an error signal formed by the difference between the inputspeech segment and the filtered codebook sequence currently under test.The error signal is fed to a perceptual weighting filter to weight theerror signal in relation to the way that a human ear perceives a speechsignal, so that errors in parts of the frequency spectrum to which thehuman hearing process is more sensitive are de-emphasised by the coder.The output of the perceptual weighting filter is fed to a Mean SquareError (MSE) calculating means to produce a MSE output signal. The MSEmeans squares the perceptually weighted error for each sample within aframe of speech and sums the squared errors over the length of a frame.All K sequences from the codebook are filtered and compared with theframe of incoming speech and the MSE means maintains a record of thecodebook sequence and the corresponding gain parameter that result inthe lowest mean square error for each complete frame of incoming speech.The index of the optimum codebook sequence c^(k) (n), the gain of thegain stage and the filter coefficients represent a synthetic speechsignal that can be reconstructed using a corresponding re-synthesissystem. Where these parameters are to be transmitted, the short termfilter coefficients are often encoded as Log Area Ratios (LARs) or LineSpectrum Frequencies (LSFs) to make them less sensitive to bit errorscaused by noise or interference in the channel.

In a corresponding decoder, or re-synthesis system, the optimum codebooksequence c^(k) (n) is selected from a codebook and fed to a gain stagewhich is also fed with a gain parameter. The output of this gain stageis fed to a long term inverse filter which is also fed with theappropriate coefficients. The output of the long term inverse filter isfed to a short term inverse filter which is also fed with appropriatecoefficients. The output of this short term filter is fed to an optionalpost filter which may be included to reduce the effects of quantisationnoise. The output of the post filter is fed to a loudspeaker or to aloudspeaker and amplifier in combination to reproduce the syntheticspeech.

One disadvantage of the CELP coding system described above is that theexhaustive search of all the sequences in the codebook and the doublefiltering of every sequence prior to the error comparison is verycomputationally intense. A typical codebook contains 1024 sequences eachof length 40 samples and so the basic CELP scheme described above is noteconomically feasible to implement in real time.

One proposal to reduce the computational load of a CELP coding system isdisclosed in United Kingdom Patent Specification 2 235 354A (PHB 33579)"Speech Coding System and a Method of Encoding Speech".

A one dimensional master codebook containing one long stochasticsequence is used from which sequences are fed to a short term filter toproduce a two dimensional filtered codebook. The sequences from themaster codebook overlap by a fixed amount and consequently some of thefiltering required for each sequence overlaps with that required for theprevious and following sequence or sequences. This can reduce thecomplexity of the codebook sequence filtering considerably. With themaxim overlap between successive sequences in the master codebook of allbut one sample, a master codebook of length (K+N-1) will be required,where K is the number of sequences and N is the length of thosesequences. An overlap between successive sequences of all but twosamples gives better results and will require a codebook of length(2K+N-2).

Despite the fact that using a one dimensional codebook allows areduction in the complexity of the filtering required by a CELP analoguesignal coding system, the number of comparisons to be made between thefiltered incoming speech and the filtered codebook sequences is stillconsiderable.

It is an aim of the present invention to reduce the computation requiredfor each incoming block of analogue signals in an analysis by synthesisanalogue signal coding system.

DISCLOSURE OF THE INVENTION

According to a first aspect of the present invention there is providedan analogue signal coding system comprising sampling and digitisingmeans for obtaining digitised signal samples, framing means for formingframes comprising a sequence of digitised signal samples, a mastercodebook containing a plurality of sequences of excitation signalsamples, filtering means for deriving filtered sequences of excitationsignal samples from the master codebook, characterised in that theanalog signal coding system comprises decomposing means for decomposingeither the sequence of digitised signal samples or the filteredexcitation signal samples into a number of mutual orthogonal componentsequences, comparing means for determining for each of the plurality ofsequences of excitation samples difference signals between eachcomponent sequence and the sequence of digitised signal samples if theorthogonal component sequences are derived from the filtered sequencesof excitation samples or between each component sequence and thefiltered sequences if the orthogonal component sequences are derivedfrom the digitised signal samples, and means for determining from thedifference signals which sequence of the plurality of sequences ofexcitation samples is the most acceptable sequence of excitation samplesin complying with a predetermined error criterion.

The concept of orthogonal sequences as such is known from elementarymathematics. Two sequences, which can be considered as vectors, arecalled orthogonal if the sum of products of corresponding sample valuesof the two sequences is equal to 0.

By decomposing either the incoming signal or the filtered codebooksignal into mutually orthogonal component sequences prior to comparingthem, a substantial saving in comparison effort may be achieved. This isdue to the fact that the comparisons with help of orthogonal componentsequences can be made independently for these orthogonal componentsequences. Hence if the filtered codebook sequences are decomposed intoorthogonal component sequences, the analogue signal may be compared witha first set of sequences and then with a second set of sequencesorthogonal to the first set of sequences. The total effective number ofsequences which are compared is the product of the number of sequencesin each orthogonal set. This permits a substantial shortening of thecodebook search.

Various techniques are available for performing the decomposition intoorthogonal component sequences required by the method of, and systemfor, coding analogue signals. A division into even and odd frequencycomponents is possible, as is a time domain split so that if aparticular sample in a first sequence is non-zero its counterpart in anorthogonal sequence would be zero and vice versa. Another possibility isa frequency domain split so that for example a first set of sequencesmay contain lower frequency components and a second set of sequences maycontain higher frequency components.

The concept of decomposition into orthogonal component sequences may beextended beyond one pair of orthogonal components and further orthogonalsplits may be possible. For example a first decomposition intoorthogonal component sequences to give two sets of sequences may beeffected using even and odd symmetry over a frame and a seconddecomposition to give four sets of sequences may be effected using evenand odd symmetry over half of the frame. Subsequent decompositions couldalso be effected in the time or frequency domain.

Another possibility is to decompose into orthogonal components theincoming analogue signal prior to comparing it with a set of filteredsequences. If the incoming signals are decomposed into two orthogonalcomponents then two comparisons are necessary, if they are decomposedinto four components then four comparisons are necessary and so on.

A single comparing means may be provided to perform each comparison or asmaller number of comparing means may be multiplexed to perform them. Itis not always necessary to compare whole length of a codebook sequencewith the orthogonalised incoming signal. A shorter length of sequencemay be compared and complete sequence may then be formed uponre-synthesis of the signal.

The filtered sequences from the master codebook may be stored beforecomparison. If they are orthogonalised prior to being stored then two ormore sets of filtered sequences are stored. These may then be comparedwith the sampled incoming signal using one or more comparing means asdescribed above.

A third possibility is for both the incoming signal and the filteredcodebook sequence to be decomposed into mutually orthogonal componentsequences prior to comparison and this will generally permit a reducednumber of comparisons to be made between the filtered codebook sequencesand the incoming sequences due to the redundancy in the orthogonalisedsignals.

According to a second aspect of the invention there is provided ananalogue signal coding method comprising sampling and digitising ananalogue signal for obtaining digitised signal samples, forming framescomprising a sequence of digitised signal samples, deriving filteredsequences of excitation signal samples from a master codebook comprisinga plurality of sequences of excitation samples, characterised in thatthe analogue signal coding method comprises decomposing either thesequence of digitised signal samples or the filtered excitation signalsamples into a number of mutual orthogonal component sequences,determining for each of the plurality of sequences of excitation samplesdifference signals signals between each component sequence and thesequence of digitised signal samples if the orthogonal componentsequences are derived from the filtered sequences of excitation samplesor between each component sequence and the filtered sequences if theorthogonal component sequences are derived from the analogue signalsamples, and determining from the difference signals which sequence ofthe plurality of sequences of excitation samples is the most acceptablesequence of excitation samples in complying with a predetermined errorcriterion.

The codebook sequences should be orthogonal after any necessaryfiltering processes have been carried out. The filtering means may becoupled to a filter coefficient determining means which causes thefiltering means to filter the master codebook sequences in accordancewith the characteristics of the incoming signal. The filter coefficientdetermining means may include a linear predictor.

The means for determining the filter coefficients may also include along term predicting means for determining the long term redundancy inthe analogue signal which may comprise an adaptive loop including adelay.

The master codebook may be a one dimensional codebook as disclosed inthe United Kingdom Patent Specification 2 235 354A mentioned earlier.This will generally effect a reduction in the computational complexityof the filtering.

The comparison means may incorporate mean square error means to analyzethe differences between the incoming signals and the filtered codebooksequences. The filtered codebook sequences may be fed separately to gainstages prior to being fed to the comparing means and these gain stagesmay, for example, have independently variable gains or alternatively,gains that are equal magnitude but variable in polarity.

Incoming signals may be fed to filtering means prior to being fed to thecomparing means to weight these signals in a manner that emphasisesthose aspects of these signals which are perceptually of greaterimportance upon re-synthesis.

The selection of the most appropriate two or more sequences from thefiltered codebook sequences can be made independently, so that eachselection has no effect on any of the others, or interdependently whichcan reduce the data rate of the coded signals.

According to a third aspect of the present invention there is a decodingsystem for obtaining an analogue signal comprising a master codebookcontaining a plurality of sequences of excitation samples, filteringmeans for deriving filtered sequences of excitation samples from themaster codebook, characterised in that the decoding system comprisesdecomposing means for decomposing the filtered sequences of excitationsamples into sets of mutually orthogonal component sequences and meansfor obtaining a combined sequence by forming a weighted sum of themutually orthogonal component sequences in response to an incoming codedsignal, and means for transforming the combined sequence into ananalogue signal to provide a synthesised replica of a previously codedanalogue signal.

According to a fourth aspect of the invention there is provided adecoding method for obtaining an analogue signal, comprising derivingfrom a master codebook containing a plurality of sequences of excitationsamples filtered sequences of excitation samples, characterised in thatthe decoding method comprises decomposing means for decomposing thefiltered sequences of excitation samples into sets of mutuallyorthogonal component sequences and means for obtaining a combinedsequence by forming a weighted sum of the mutually orthogonal componentsequences in response to an incoming coded signal, and means fortransforming the combined sequence into an analogue signal to provide asynthesised replica of a previously coded analogue signal.

The analogue signal coding system and method of encoding analoguesignals according to the first and second aspects of the presentinvention are based upon an analysis by synthesis technique whichinvolves synthesising a number of possible matches to an incoming signaland selecting one which is close. As a result, the analogue signalre-synthesising system and method of re-synthesising analogue signals inaccordance with the third and fourth aspects of the present inventionhave much in common with their coding system and encoding methodcounterparts. For example a typical system to perform the re-synthesisof analogue signals will comprise synthetic signal branches similar tothose of the coding system used to encode the original analogue signalsfollowed by a post filter to reduce the perceived effects ofquantisation noise.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention will now be explained and described, by way ofexample with reference to the accompanying drawings, wherein:

FIG. 1 is a block schematic diagram of an analogue signal coding systememploying a one dimensional codebook, an orthogonalising means, twoorthogonal filtered codebooks and error measurement means,

FIG. 2 is a block schematic diagram of an analogue signal decodingsystem suitable for use with the coding system shown in FIG. 1,

FIG. 3 is a block schematic diagram of an analogue signal coding systemin which only the incoming speech is orthogonally decomposed,

FIG. 4 is in block schematic diagram of an analogue signal decodingsystem suitable for use with the coding system shown in FIG. 3,

FIG. 5 is a block schematic diagram of an analogue signal coding systememploying a one dimensional codebook and four two dimensional orthogonalcodebooks,

FIG. 6 is a set of sequences to help to describe the operation of thesystem of FIG. 5,

FIG. 7 is a block schematic diagram of an analogue signal decodingsystem suitable for use with the coding system of FIG. 5,

FIG. 8 is a set of sequences to help to describe the operation of thesystem of FIG. 7,

FIG. 9 shows five equations, numbered (1) to (5), relating to theoperation of the coding system shown in FIG. 1 with independent codebookgains, and

FIG. 10 shows a further six equations, numbered (6), (7), (7a), (7b),(8) and (9) relating to the operation of the coding system shown in FIG.1 with the codebook gains equal.

In the figures corresponding features have been identified using thesame reference numerals.

MODES FOR CARRYING OUT THE INVENTION

FIG. 1 shows a practical analogue signal coding system embodying both aone dimensional master codebook and a pair of orthogonal filteredcodebooks. A source of an original analogue signal, shown here as amicrophone 20, has an output which is coupled to a framing andquantisation means 22 which digitises the analogue signal and segmentsit into 5 ms frames and 20 ms blocks. Each block of the digitisedanalogue signal is fed to and analysed by a Linear Predictive Coder(LPC) 24 which derives a set of short term filter coefficients a_(i).These filter coefficients are stored or transmitted, depending on theapplication of the coding system, because they will be required toregenerate a replica of the original analogue signal using acorresponding re-synthesiser. The sampled analogue signal is also fedfrom the framing means 22 to a short term filter 34 having a transferfunction of A(z) and the output of this filter is fed to a short terminverse filter 36 having a transfer function of 1/A(z/γ). The output ofa one dimensional codebook 40 is fed to one input of an inverse filter42 having a transfer function of 1/A(z/γ). A second input of the filter42 is supplied with the short term filter coefficients a_(i) determinedby the linear predictive analysis. γ is a perceptual weightingcoefficient, chosen to be around 0.65, which appears in this transferfunction as a consequence of moving the perceptual weighting filter fromthe output of the coding system as described by J-P Adoul et.al. in thepreviously cited reference. The output of the filter 42 is fed to anorthogonalising means 68 which splits each filtered codebook sequenceinto odd and even sequences. This is achieved by taking a codebooksequence of N samples and reversing the sequence in time. The oddsequence is equal to half of the codebook sequence minus half of thereversed sequence and the even sequence is equal to half of the codebooksequence plus half of the reversed sequence. If a sequence x(n)comprises N components and x_(e) (n) and x_(o) (n) are the even and oddsequences respectively resulting from the orthogonalisation:

    x(n)=x.sub.e (n)+x.sub.o (n)

the even sequence is given by ##EQU1## and the odd sequence is given by##EQU2##

The odd filtered sequences are stored in a 2-dimensional codebook 70 andthe even filtered sequences are stored in another 2-dimensional codebook72. In this example, codebooks 70 and 72 each contain 32 sequencesalthough this number may be varied to suit the application. The selectedoutput sequence c^(i) (n) from the odd codebook 70 is fed to a gainstage 74 having a gain G_(o) and whose output is fed to an invertinginput of a summer 78. The selected output sequence c^(j) (n) from theeven codebook 72 is fed to a gain stage 76 having a gain G_(e) and whoseoutput is fed to an inverting input of a summer 80.

Filtered input speech is fed from the output of the filter 36 to anon-inverting input of a summer 38, the output of which summer is anerror signal El(n). The error signal El(n) is also fed to anorthogonalising means 66 that separates it into even e(n) and odd o(n)component sequences as described above. The odd output o(n) of the means66 is fed to a non-inverting input of the summer 78. The even outpute(n) of the means 66 is fed to a non-inverting input of the summer 80.The output of the summer 78 is then fed to an MSE analysis means 79which has an output comprising an odd codebook error signal Eo. Theoutput of the summer 80 is fed to an MSE analysis means 81 which has anoutput comprising an even codebook error signal Ee. The outputs Eo,Ee ofthe means 79,81 are fed to a selection means 83.

The outputs of the gain stages 74 and 76 are summed in a summer 82, theoutput of which summer is fed to a non-inverting input of a summer 46.The output of the summer 46 is fed to a tapped delay line 48 whose delayis defined by a parameter (or pitch predictor index) d. The output ofthe tapped delay line is fed to a gain stage 50 having a gain (or pitchpredictor gain) b. The output of the gain stage 50 is fed to anon-inverting input of the summer 46 and to an inverting input of thesummer 38. Although depicted separately, the summers 46 and 82 could bereplaced by a single summer with at least three non-inverting inputs.

In operation the coding system uses LPC 24 to determine the short termfilter coefficients a_(i) and the one dimensional codebook sequences arefiltered by the weighted short term inverse filter 42. Two separatefiltered codebooks are then produced by decomposition using theorthogonalising means 68 and are shown here as two dimensional codebooks70,72. The error signal sequences El(n) are orthogonalised by the means66 and then compared with the odd and even synthetic sequences. Equation(1) in FIG. 9 expresses the overall error comparison where E=Eo+Ee and Nis the length of the codebook sequences. El(n) is divided into o(n) ande(n) by the orthogonalisation means 66 and the odd and even sequencecomparisons are made independently. The odd comparison is performed inthe summer 78 and the result is subjected to mean square error analysisin a means 79. These two operations are expressed in equation (2) ofFIG. 9. Note that the range of the summation performed by the MSE meanshas been halved. This saving in processing is due to the symmetry of thesequences being compared. The first (or second) half of an odd or evensequence can be determined from the second (or first) half of thatsequence. Since both the codebook sequence and the analogue signalsequence have been orthogonalised into odd and even sequences only halfof each sequence need be compared with each other.

In order to find the optimum odd sequence gain Go, the expression inequation (2) is partially differentiated to give δEo/δGo and the resultof setting (δEo/δGo)=0 is shown in equation (3) of FIG. 9. Bysubstituting equation (3) into equation (2) the minimum value of Eo isdefined in terms of the odd filtered sequence o(n) and the codebooksequence and is shown in equation (4) of FIG. 9. The even comparison isperformed in the summer 80 and the result is subjected to mean squareerror analysis in the means 81. By a similar series of steps to thoseapplied to the odd comparison, the minimum value of Ee can be derivedand is shown in equation (5) of FIG. 9. The two codebooks 70,72 aresearched independently and the codebook output sequences c^(i) (n),c^(j) (n) and gains Go,Ge are selected by the means 83 so that Eo and Eeeach have their respective minimum values.

Minimising the values of Eo and Ee in equations (4) and (5) respectivelyentails maximising the value of the quotient term after the minus signsin these equations. This maximisation may be performed by calculatingand storing the value of the quotient for the first codebook entry andreplacing that stored value with any larger values which are calculatedfrom subsequent codebook sequences. This results in a number ofcomparisons to determine if an inequality of the following type is true.##EQU3## where y² /z represents the largest quotient term of theequation which has been found so far in the search and w² /x representsthe quotient term corresponding to the codebook entry currently underconsideration. Since it is generally preferable to performmultiplications rather than divisions this comparison may be rearrangedto be:

    w.sup.2.z>x.y.sup.2

However, since the terms w and y require to be squared, twomultiplications have to be performed for each side of the inequality forevery comparison. To simplify this comparison there are two possibleways to eliminate the denominator of the quotient term from thecomparison. The first is to assume that the denominator of the quotientterms is constant, regardless of the sequence number underconsideration. The comparison may then be simplified to w² >y², andsince w and y are never negative to w>y. While this assumption will notbe valid in all cases, subjective tests with human speech have shown nonoticeable deterioration in the quality of the subsequently reproducedspeech.

The second way to eliminate the denominator terms from the comparison isto scale the values of the sequences in the sub-codebooks so that thesum of the squares of the values over the length of each sequence (whichis what the denominator of the quotient term represents) are equal. Forexample the sum of the squares of the samples from a sequence from eachof a first sub-codebook and a second sub-codebook are calculated and ascaling factor for the samples in the second sub-codebook is equal tothe square root of the quotient comprised of the first sum of squaresdivided by the second sum of squares.

Returning to FIG. 1, the outputs of the two gain stages 74,76 are alsosummed and the resulting signal is used to provide the input to thepitch predictor, which comprises the summer 46, the tapped delay line48, the gain stage 50, the summer 38 and a means (not shown) ofselecting a tapped delay line parameter d and a pitch gain b so that theerror signal El(n) is a minimum. In this coding system, a pair oforthogonal codebooks provide a total combination of K stochasticsequences when each codebook contains only √k sequences. Thus the use oftwo orthogonal codebooks provides a reduction in the computationalcomplexity of the codebook search by a factor of √K/2. For example, ifthe equivalent non-orthogonal codebook was 1024 sequences long, each ofthe orthogonal filtered codebooks would be 32 sequences long and so asearch of just 64 sequences would be required.

The effective number of codebook sequences with which the filteredanalogue signal is compared may be doubled by also comparing theinverted codebook sequences with the filtered analogue signal. Thus forthe same codebook sequence diversity the size of the codebooks may behalved.

It is possible to omit the orthogonalisation means 66 and apply theerror signal El(n) to the summers 78 and 80 directly. Since thecomparison with odd and even sequences will automatically reject thosecomponents in the signal El(n) which are even and odd respectively, theorthogonalisation of the signal El(n) is not required. If the means 66is omitted the comparison between the codebook and analogue signalsequences should be made over the whole length of the sequences, thehalf length sequence comparison described will not be adequate.

It is possible to omit the sub-codebooks 70,72 and compare the filteredcodebook sequences with the filtered incoming signal as soon as thecodebook sequences have been orthogonalised.

FIG. 2 shows a system for re-synthesising speech signals that have beenencoded using the system shown in FIG. 1 and elements of the system thatare the same as those shown in that Figure are denoted by the samereference numerals. The output of a one dimensional codebook 40 and thecoefficients a_(i) are fed to a weighted short term inverse filter 42having a transfer function of 1/A(z/γ). The output of the filter 42 isfed to an orthogonalising means 68 which separates the filtered codebooksequences into an odd and an even sequence over the length of a codebooksequence. Odd sequences are stored in a filtered codebook 70 and evensequences are stored in a filtered codebook 72. The output sequencec^(i) (n) is selected from the codebook 70 and is fed to a gain stage 74having a gain of Go. The output sequence c^(j) (n) is selected from thecodebook 72 and is fed to a gain stage 76 having a gain of Ge. Theoutputs of the gain stages 74 and 76 are both fed to non-invertinginputs of a summer 64 whose output is fed to a non-inverting input of asummer 46. The output of the summer 46 is fed to a tapped delay line 48having a delay defined by a parameter d. The output of the delay line isfed to a gain stage 50 having a gain of b. The output of the gain stageis fed to a non-inverting input of the summer 46. In addition to beingfed to the tapped delay line 48, the output of the summer 46 is fedtogether with the coefficients a_(i) to a weighted short term filter 36having a transfer function of A(z/γ). The output of the filter 36together with the coefficients a_(i) are fed to a short term inversefilter 37 having a transfer function of 1/A(z). The output of the filter37 is fed to an optional post filter 30 and then to a loudspeaker 32 orto an amplifier and loudspeaker in combination.

The re-synthesis system is fed with the codebook sequence numbers i,j,the gains Go,Ge, the short term filter coefficients a_(i) and the pitchpredictor parameters d,b from a coding system such as the one shown inFIG. 1. The amplified codebook sequences from each of the gain stagesare summed and then fed successively to long term and short termfilters. The long term filter comprising the summer 46, the tapped delayline 48 and the gain stage 50 adds the long term or pitch redundancy andthe two short term filters 36,37 add the short term redundancy that wasremoved from the analogue signals by the coding system. The post filter30 can be included in order to reduce the perceived effects ofquantisation noise.

The analogue signal coding system shown in FIG. 1 includes twoorthogonalisation means 66,68 for orthogonalising the filtered incomingsignal and the filtered codebook sequences, respectively. When thefiltered incoming analogue signals are orthogonalised into odd and evenfunctions by a means 66 only half length incoming and codebook sequencesneed to be compared. A full length sequence can be constructed from anarbitrary half length codebook sequence and, furthermore, both an oddand an even full length sequence can be constructed from any half lengthsequence. Consequently it is not necessary for the half length codebooksequences to have been derived from full length codebook sequences byorthogonalisation. The same set of half length sequences can thus becompared with both the odd and even half length filtered incoming signalsequences. Taking a half length sequence represented by

    c(n) for n=1 to N/2

the odd and even full sequences are given by

    c.sup.i (n)=c(n) for n=1 to N/2

    c.sup.i (n)=-c(N-n+1) for n=[(N/2)+1] to N

and

    c.sup.j (n)=c(n) for n=1 to N/2

    c.sup.j (n)=c(N-n+1) for n=[(N/2)+1] to N

respectively and these full length sequences are constructed uponre-synthesis of the analogue signal.

Alternatively a different set of half length codebook sequences may beused for the odd and even comparisons which may be considered asaltering c^(j) (n) in the above equations, thus:

    c.sup.j (n)=c'(n) for n=1 to N/2

    c.sup.j (n)=c'(N-(n-1)) for n=[(N/2)+1] to N

where c' represents a different codebook from c or a different sectionin the same codebook.

Whether the same set or a different set of half length sequences areused, the codebook sequences no longer need to be orthogonalised and sothe orthogonalisation means 68 can be eliminated. If both of thesub-codebooks are to contain the same set of half length sequences thereis no need to duplicate the sub-codebooks and there are simplificationspossible in the calculations of the error terms in the equations (4) and(5). Since the two denominator terms in these equations will be equal areduction in the computation is possible.

An analogue signal coding system which uses a single sub-codebookcontaining half-length sequences is shown in FIG. 3. The arrangement isidentical with that shown in FIG. 1 with the following exceptions. Theoutput of the filter 42 is fed to a single sub-codebook, shown as atwo-dimensional codebook 71. The sequences stored in the codebook 71 arehalf length sequences and have been filtered in accordance with theincoming analogue signal as previously described. The i^(th) sequence inthe sub-codebook 71 is fed to a gain stage 74 having a gain Go. Theoutput of the gain stage 74 is fed to an inverting input to a summer 78and to a full length sequence generator 75. The generator 75 derives afull length odd sequence from the half length sequence at the output ofthe gain stage 74. The output of the generator 75 is fed to anon-inverting input to a summer 82. The j^(th) sequence in thesub-codebook 71 is fed to a gain stage 76 having a gain of Ge. Theoutput of the gain stage 76 is fed to an inverting input to a summer 80and to a full length sequence generator 77. The generator 77 derives afull length even sequence from the half length sequence of the output ofthe gain stage 76. The output of the generator 77 is fed to anon-inverting input to the summer 82. The generators 75,77 are requiredto ensure the correct operation of the long term predictor and theiroperation is described subsequently with reference to FIG. 4. Theremainder of the system is identical to that of FIG. 1.

In operation one half of the odd sequence and one half of the evensequence derived by the orthogonalisation means 66 for each frame ofincoming analogue signals is compared with the scaled half lengthsequences stored in the sub-codebook 71 in the means 78,80. While thesub-codebook 71 is searched for appropriate matching half lengthsequences, i and j may be equal to one another and each increase from 1to the length of the codebook.

Alternatively the means 76,80 and 81 could be eliminated and the optimumhalf length sequence could be determined for both the odd and evenfiltered incoming sequences by using one gain stage, comparator and MeanSquare Error means multiplexed between the orthogonalised incomingsequences. The orthogonal outputs of the means 66 would be suppliedalternately to the single comparator 78 so that both odd and evenoutputs of the means 66 are compared with each half length sequence fromthe sub codebook. As for the embodiment shown in FIG. 1, two separatecodebook indices i,j are derived.

Filtered sequences of any length may be obtained from the mastercodebook. If, for example, a full length sequence is obtained, two halflength sequences which are different to one another may be selected andused for comparison with the incoming signal, although no advantage inso doing has been detected for speech. Where one half length sequence isused for both comparisons it can be derived by filtering only a halflength sequence from the master codebook. The half length sequence neednot be derived or selected from a filtered full length sequence.

In addition to not requiring the orthogonalisation of the codebooksequences, using equal half length sequences for both the odd and evensequence comparisons permits a further simplification in thedetermination of Eo and Ee as shown in equations (4) and (5) in FIG. 9.Since ##EQU4## the number of calculations to determine the values of thedenominators in equations (4) and (5) is halved. This can also beconsidered as a halving of the number of calculations required todetermine the denominator of the term in equation (8) in FIG. 10 whichwill be discussed later.

A re-synthesis system corresponding to the coding system of FIG. 3 isshown in FIG. 4. This system is identical to that shown in FIG. 2 withthe exception that the orthogonalisation means 68 has been replaced byan orthogonal sequence generator 90. The gain values Go,Ge, short termfilter parameters a_(i), long term filter parameters d,b and codebookindices i,j are supplied to the system as in the previously describedembodiment. The contents of the master codebook 40 are fed to a shortterm filter 42 and the output of this filter is fed to the orthogonalsequence generator 90. This generator operates to convert filteredcodebook half length sequences c(n) for n=1 to N/2 to odd and even fulllength sequences:

    c.sup.i (n)=c(n) for n=1 to N/2

    c.sup.i (n)=-c(N-n+1) for n=[(N/2)+1] to N

and

    c.sup.j (n)=c(n) for n=1 to N/2

    c.sup.j (n)=c(N-n+1) for n=[(N/2)+1] to N

which sequences are stored in the sub-codebooks 70,72 respectively. Thegenerators 75,77 (FIG. 3) operate in the same manner as the generator90. The relevant full length sequences for each frame of the incomingspeech are selected and fed to the gain stages 74,76, the outputs ofthese gain stages are summed and filtered through long and short termfilters as before to provide the output of the system, for example to aloudspeaker 32.

The construction of both the odd and even full length sequences forevery filtered sequence from the master codebook is not strictlynecessary and a single codebook containing half length sequences may beused as in the coding system shown in FIG. 3. The full length sequencesto be fed to the gain stages 74,76 can be constructed in accordance withthe equations above after the relevant half length sequences areselected from the slave codebook.

The analogue signal coding systems shown in FIGS. 1 and 3 require twogain parameters for each frame of the incoming signal and in a situationwhen the bit rate for transmission or storage is critical this may beunacceptable. The number of bits required to represent the gainparameters may increase significantly with respect to a coding systemhaving only a single codebook and gain stage. Since these two gainparameters represent related signals there will be some degree ofcorrelation between them and so it may be possible to represent one gainrelative to the other and obtain a slight saving in the number of bitsrequired.

The systems shown previously may be used without extra bits beingrequired to represent a second codebook gain by requiring that the twogains are equal (i.e. Go=Ge), or even better that their magnitudes areequal and their signs can be positive or negative. The latter case willincur a penalty of only one bit over a single codebook coding system.The gain values are transmitted as a sign for each selected codebooksequence and a single magnitude applying to both codebook sequences.

This can be achieved in at least three ways:

(1) Calculate the total mean square error (Eo+Ee) for each possible pairof codebook sequences, subject to the constraints that |Go|=|Ge| andthat the MSE is minimised. This gives the optimum codebook indices(i,j), the magnitude of gain (G=|Go|=|Ge|) and the signs of Go and Ge,s^(i) =Go/|Go|=±1 and s^(j) =Ge/|Ge|=±1. Firstly the combined error E2is calculated as shown in Equation (6) of FIG. 10. The magnitude G ofthe gains Ge and Go is calculated using equation (7) of FIG. 10. Inequation (7) s^(i) must be chosen so that it is of the same sign as thesum of the products of o(n) and c^(i) (n) over a whole frame length (orhalf a frame length in the case of symmetrical sequences). Similarlys^(j) must be chosen to have the same sign as the sum of the products ofe(n) and c^(j) (n). These constraints upon the values of s^(i) ands.sup. j are to prevent the values of Go and Ge being negative and aresummarised in inequalities (7a) and (7b), respectively, of FIG. 10.

Combining equations (6) and (7) gives equation (8) and values of i and jare selected that cause the error E2 in equation (8) of FIG. 10 to be aminimum.

The two codebook sequences can be combined to form a composite codebookentry c(n) using equation (9) of FIG. 10, in which equation a value of Gis calculated from equation (7). This composite codebook entry is thenfed to the summer 82 (FIG. 3).

(2) Search each codebook separately for the sequences giving minimumvalues of Eo and Ee respectively, without constraint on the values of Goand Ge. Then, using this pair of codebook sequences, calculate themagnitude of G such that G=|Go|=|Ge|, together with the signs of Go andGe, to minimise the total MSE which is equal to (Eo+Ee).

The first step is to find the codebook entry, that is the value of iwhich results in the minimum value of Eo in equation (2) and thecodebook entry, that is the value of j which gives the minimum value ofEe in the orthogonal equivalent of equation (2). The gain Go is given byequation (3) and the gain Ge is given by the orthogonal equivalent ofequation (3). Then the signs s^(i) and s^(j) of the gains Go and Ge canbe determined from inequalities (7a),(7b) and the magnitude G of the twogains can be determined from equation (7) as before. Finally a compositecodebook entry c(n) is determined as before using equation (9). Thissecond method gives sub-optimum values for codebook indices (i,j), themagnitude of the gains (G=|Go|=|Ge|) and the signs of Go and Ge (s^(i)=Go/|Go| and s^(j) =Ge/|Ge| respectively) but with much lesscomputational complexity than the first alternative. In a practicalcoding system used for coding human speech there is virtually noperceived difference between the two approaches.

(3) The method (2) can be modified to give better results as follows.The at least two sequences from each codebook which result in the lowestvalues of error signal are selected using equations (4),(5) giving, forexample, two pairs of codebook indices, (i₁,i₂), (j₁,j₂). The totalerror resulting from each of the four possible combinations of thesesequences (i₁,j₁), (i₂,j₂), (i₁,j₂), (i₂,j₁) are then calculated byadding the values of Ee and Eo in each case and the pair of sequenceswhich results in the lowest error are chosen. The method then proceedsas above from the calculation of the gains Go and Ge. This procedurecould also include quantisation of the gain value within the searchwithout a great increase in computational complexity. This quantisationentails setting the values of the gains Go and Ge to one of the possibleoutput values which the coding system permits prior to the calculationof the error signals Eo and Ee and should yield better results when, forexample, one of the gain values originally calculated is especiallydistant from one of the available quantised values. More than twosequences could be selected from each codebook and more than twocodebooks could be used.

These changes would have no impact on the decoders or re-synthesisersshown in FIGS. 2 and 4 which function as described previously.

FIG. 5 shows a coding system derived from that shown in FIG. 1 but whichemploys four orthogonal codebooks. A source of original speech 20, aframing and quantisation means 22, a Linear Prediction Coefficient (LPC)generator 24, a short term filter 34 and a short term inverse filter 36are arranged as in the coding system shown in FIG. 1 and function in thesame manner. The output of the filter 36 is fed to a non-inverting inputof a summer 38, the output of which summer comprises an error signalEl(n). The output of a one dimensional codebook 40 is fed to a shortterm inverse filter 42 having a transfer function of 1/A(z/γ). Thisfilter is fed with the short term filter coefficients a_(i) derived bythe LPC means 24. The output of the filter 42 is fed to anorthogonalisation means 68 which has four outputs which can be regardedas two pairs of outputs and which are all fed to separate twodimensional codebooks 70a, 70b, 70c, 70d. The sequence number i from thecodebook 70a is fed to a gain stage 74a whose output is fed to anon-inverting input of a summer 82 and to the inverting input of asummer 78a. The output of the summer 78a is fed to a MSE means 28a whoseoutput is an error signal Ea. The sequence number p from the codebook70b is fed to a gain stage 74b whose output is fed to a non-invertinginput of the summer 82 and to an inverting input of a summer 78b . Theoutput of the summer 78b is fed to a MSE means 28b whose output is anerror signal Eb. The sequence number j from the codebook 70c is fed to again stage 74c whose output is fed to a non-inverting input of thesummer 82 and to an inverting input of a summer 78c. The output of thesummer 78c is fed to a MSE means 28c whose output is an error signal Ec.The sequence number q is fed from the codebook 70d to a gain stage 74dwhose output is fed to a non-inverting input of the summer 82 and to aninverting input of a summer 78d. The output of the summer 78d is fed toa MSE means 28d whose output is an error signal Ed. The output signalsEa,Eb,Ec,Ed from the four MSE means 28a, 28b, 28c, 28d are fed to aselection means 83.

The output of the summer 38 is fed to a second orthogonalisation means66 which has four outputs and operates in an analogous manner to theorthogonalising means 68. The four outputs of the means 66 are each fedto a non-inverting input of the corresponding summers 78a, 78b, 78c or78d. The output of the summer 82 is fed to a non-inverting input of asummer 46. The output of the summer 46 is fed to a tapped delay line 48whose output, at a delay d, is fed to a gain stage 50 having a gain b.The output of the gain stage 50 is fed to an inverting input of thesummer 38 and to a non-inverting input of the summer 46.

The orthogonalisation means 66,68 may perform the orthogonalisation of asingle sequence into four mutually orthogonal sequences in a number ofways. If a first orthogonalisation is performed upon the sequence toprovide odd and even sequences, each of these sequences may then beorthogonalised in the time or frequency domains. Time domainorthogonalisation comprises making a first sequence having a number ofzero and non-zero members and a second sequence comprising a number ofzero and non-zero members. Where a member of the first sequence isnon-zero the corresponding member of the second sequence must be zeroand vice versa. The rule that orthogonal sequences must multiply to zerois thus obeyed. Frequency domain orthogonalisation comprises making apair of sequences which contain signals from separate frequency bands,for example a first sequence containing lower frequency components and asecond sequence containing higher frequency components.

Alternatively the means 66,68 may perform an odd and evenorthogonalisation over a complete sequence length followed by furtherodd and even orthogonalisations over half of a sequence length. This maybe better understood by reference to FIGS. 6(a) to 6(h) where theorthogonalisation of a 20 member sequence is depicted in a sign onlyformat for ease of understanding. Firstly an original sequence (a) istaken and a time reversed version (b) is formed. An even sequence (c) isformed by the addition of (b) to (a), the divisions by two of the summedsequences being omitted for the purposes of this example. An oddsequence (d) is formed by the subtraction of (b) from (a), the divisionby two again being ignored. The first half of the even sequence (c) isthen taken and a time reversed version is formed. The addition of thefirst half of sequence (c) and its time reversed version provides thefirst half of the sequence (e). The second half of the sequence (c) issimilarly added to its time reversed version to obtain the second halfof the sequence (e). The sequence (e) represents an evenorthogonalisation followed by an even orthogonalisation. The timereversed version of the first half of sequence (c) is subtracted fromthe first half of sequence (c) to give the first half of sequence (f).The second half of sequence (f) is derived in the same manner from thesecond half of the sequence (c). The sequence (f) represents an evenorthogonalisation followed by an odd orthogonalisation. The sequences(g) and (h) are derived from the sequence (d) as the sequences (e) and(f) are derived from the sequence (c). Sequence (g) represents an oddorthogonalisation followed by an even orthogonalisation and sequence (h)represents an odd orthogonalisation followed by an oddorthogonalisation. All of the sequences (e), (f), (g) and (h) aremutually orthogonal, that is to say that the product of any one with anyother over its whole length is zero. This mutual orthogonality permitsthe four comparisons shown in the coding system of FIG. 5 to be madeindependently of each other. In a practical system the magnitudes of thegains of the gain stages 74a,74b,74c,74d are constrained to be equal andare shown here as all being equal to G.

The coding system shown in FIG. 5 may be modified to remove theorthogonalisation of the codebook sequences by only comparing a filteredquarter length sequence from the master codebook with the odd and evenorthogonalised filtered analogue signals. The set of filtered codebookquarter length sequences may be different for each of the orthogonalcomparisons or it may be the same. Sequences are selected for each ofthe four orthogonal comparisons and the index numbers i,p,j,q aretransmitted or stored. If the quarter length sequences are the same asimplification in the determination of the sequence number chosen fromthe codebook may be effected as described above.

FIG. 7 shows a corresponding decoder or re-synthesis system for use withthe coder of FIG. 5. The output of a one dimensional codebook 40 is fedto a short term inverse filter 42 having a transfer function of1/A(z/γ). The output of the filter 42 is fed to an orthogonalising means68 which has four separate outputs each of which is fed to one of fourtwo dimensional codebooks 70a,70b,70c and 70d. The sequence number ifrom the codebook 70a, the sequence number p from the codebook 70b, thesequence number j from the codebook 70c and the sequence number q fromthe codebook 70d are all fed to separate non-inverting inputs of asummer 86. The output of the summer 86 is fed to a gain stage 12 whichis also fed with a gain parameter G. The output of the gain stage 12 isfed to a non-inverting input of a summer 46. The output of the summer 46is fed to a tapped delay line 48 which is also fed with a delayparameter d. The output of the tapped delay line 48 is fed to a gainstage 50 which is also fed with a gain parameter b. The output of thegain stage 50 is fed to a non-inverting input of a summer 46. The outputof the summer 46 is also fed to a short term filter 36 having a transferfunction of A(z/γ). The output of the filter 36 is fed to a short terminverse filter 37 having a transfer function of 1/A(z). The output ofthe filter 37 is fed to a loudspeaker 32 or to an amplifier andloudspeaker in combination. The three short term filters 42, 36 and 37are all fed with the short term filter parameters a_(i) originallyderived by the LPC means 24 (FIG. 5).

In operation the decoder shown in FIG. 7 is fed with the codebookindices i,p,j,q, the gain parameter G, the pitch predictor parametersd,b and the short term filter parameters a_(i). The four orthogonalcodebook sequences are added together and after amplification andfiltering, are fed to an output means, in this case a loudspeaker.

In order to make the system of FIG. 7 compatible with that of FIG. 5when the latter has been modified to compare only one quarter lengthfiltered codebook sequence with each of the orthogonalised analoguesignal, the system of FIG. 7 has an orthogonal sequence generator 90(FIG. 4) substituted for the orthogonalisation means 68. The orthogonalsequence generator functions as follows to generate four orthogonal fulllength sequences from a single quarter length sequence.

The orthogonal sequence generator first produces half length odd andeven sequences and then uses each of these two sequences to produce oddand even full length sequences. FIG. 8 illustrates this procedure for aquarter length sequence (a) having five members which is shown only in asign format for simplicity. By producing a time reversed version of thequarter length sequence (a) and adding it to the end of sequence (a), ahalf length even sequence (b) is produced. By producing a time reversedversion of the sequence (b) and adding it to the end of sequence (b), afull length sequence (c) is produced. The sequence (c) is equivalent toa full length sequence which has been orthogonalised to give a fulllength even sequence and then orthogonalised to give an even sequenceover each half of a sequence length. A time reversed, inverted versionof the sequence (b) is added to the end of the sequence (b) to provide afull length sequence (d). The sequence (d) is equivalent to a fulllength sequence which has been orthogonalised to give a full length oddsequence and then orthogonalised to give a even sequence over each halfof a sequence length.

A time reversed inverted version of the sequence (a) is added to the endof the sequence (a) to give the half length sequence (e). By adding atime reversed version of the sequence (e) to the end of that sequence afull length sequence (f) is produced. The sequence (f) is equivalent toa full length sequence which has been orthogonalised to give a fulllength even sequence and then orthogonalised to give an odd sequenceover each half of a sequence length. By adding a time reversed invertedversion of the sequence (e) to the end of that sequence a full lengthsequence (g) is produced. The sequence (g) is equivalent to a fulllength sequence which has been orthogonalised to give a full length oddsequence and then orthogonalised to give an odd sequence over each halfof a sequence length.

These four filtered sequences (c),(d),(f),(g) are then fed to the slavecodebooks 70a,70b,70c,70d (FIG. 7) and the re-synthesiser then operatesas described above.

The orthogonal codebooks required to fully realise the reduction inlength of the codebook search can be constructed in a number ofdifferent ways provided that the equation

    Σ(CB1×CB2)=0

is satisfied, where CB1 is any sequence in the first codebook and CB2 isany sequence in the second codebook. Possible alternatives to the oddand even function split described above are a time domain split or afrequency domain split. Using a time domain split, for example, CB1could contain random samples for the first half of the codebook, that isthe first N/2 samples in each sequence and zero samples thereafter andCB2 could contain zero samples for the first half of the codebook, thatis the first N/2 samples and random samples thereafter. A frequencydomain split could, for example, be achieved by using a low pass and ahigh pass filter to generate a low frequency codebook and a highfrequency codebook.

It is also possible for an analogue signal coding system to have an oddnumber of orthogonal codebooks. For example a first split of thecodebook sequences into high and low frequency components could befollowed by a further split into odd and even frequency components inthe higher frequency branch.

For any combination of coding and re-synthesising systems to functioncorrectly, the codebooks in the two systems must contain the samesequences.

From reading the present disclosure other modifications will be apparentto persons skilled in the art. Such modifications may involve otherfeatures which are already known in the design, manufacture and use ofanalogue signal coding systems and component parts thereof and which maybe used instead of or in addition to features already described herein.Although claims have been formulated in this application to particularcombinations of features, it should be understood that the scope of thedisclosure of the present application also includes any novel feature orany novel combination of features disclosed herein either explicitly orimplicitly or any generalisation thereof, whether or not it relates tothe same invention as presently claimed in any claim and whether or notit mitigates any or all of the same technical problems as does thepresent invention. The applicants hereby give notice that new claims maybe formulated to such features and/or combinations of such featuresduring the prosecution of the present application or of any furtherapplication derived therefrom.

Industrial Applicability

The present invention is applicable to a range of systems using analoguesignal coding and decoding, for example, digital mobile radio andcellular telephones.

We claim:
 1. An analog signal coding system comprising:sampling anddigitizing means for obtaining digitized signal samples, a mastercodebook containing a plurality of sequences of excitation signalsamples, and filtering means for deriving filtered sequences ofexcitation signal samples from the master codebook, characterized inthat the analog signal coding system comprises:decomposing means fordecomposing either a sequence of digitized signal samples or one of thefiltered sequences of excitation signal samples into a number ofmutually orthogonal component sequences, comparing means for comparingmutually orthogonal component sequences with a sequence of digitizedsignal samples to provide difference signals if the orthogonal componentsequences are derived from the filtered sequences of excitation signalsamples, and for comparing mutually orthogonal component sequences withthe filtered sequences of excitation signal samples to providedifference signals if the orthogonal component sequences are derivedfrom the sequence of digitized signal samples, and means for determiningfrom the difference signals which sequence of the plurality of sequencesof excitation samples is the most acceptable sequence of excitationsamples in complying with a predetermined error criterion.
 2. A systemas claimed in claim 1, characterized in that the system comprisesfurther decomposing means for decomposing the sequence of digitizedsignal samples into orthogonal component sequences if the orthogonalcomponent sequences from the decomposing means are derived from thefiltered sequences of excitation samples or for decomposing the filteredsequences of excitation sequences into orthogonal component sequences ifthe orthogonal component sequences from the decomposing means arederived from the sequence of digitized signal samples.
 3. A system asclaimed in claim 1, characterized in that the system comprises storagemeans for storing filtered sequences.
 4. A system as claimed in claim 3,characterized in that the system comprises further decomposing means fordecomposing the sequence of digitized signal samples into orthogonalcomponent sequences if the orthogonal component sequences from thedecomposing means are derived from the filtered sequences of excitationsamples or for decomposing the filtered sequences of excitationsequences into orthogonal component sequences if the orthogonalcomponent sequences from the decomposing means are derived from thesequence of digitized samples.
 5. An analog signal coding systemcomprising:sampling and digitizing means for obtaining digitized signalsamples, a master codebook containing a plurality of sequences ofexcitation signal samples, and filtering means for deriving filteredsequences of excitation signal samples from the master codebook,characterized in that the analog signal coding systemcomprises:decomposing means for decomposing the filtered sequences ofexcitation signal samples into a number of mutually orthogonal componentsequences, means for forming at least two slave codebooks by storing forthe plurality of sequences of excitation samples the correspondingorthogonal component sequences in the slave codebooks, at least twocomparing means each for comparing a sequence of digitized signalsamples and the mutually orthogonal component sequences stored in therespective slave codebooks to provide difference signals, and means fordetermining from the difference signals which sequence of the pluralityof sequences of excitation samples is the most acceptable sequence ofexcitation samples in complying with a predetermined error criterion. 6.An analog signal coding method comprising:sampling and digitizing ananalog signal to obtain digitized signal samples, and deriving filteredsequences of excitation signal samples from a master codebook containinga plurality of sequences of excitation signal samples, characterized inthat the analog signal coding method further comprises:decomposingeither a sequence of digitized signal samples or one of the filteredsequences of excitation signal samples into a number of mutuallyorthogonal component sequences, comparing mutually orthogonal componentsequences with a sequence of digitized signal samples to providedifference signals if the orthogonal component sequences are derivedfrom the filtered sequences of excitation signal samples, and comparingmutually orthogonal component sequences with the filtered sequences ofexcitation signal samples to provide difference signals if theorthogonal component sequences are derived from the sequence ofdigitized signal samples, and determining from the difference signalswhich sequence of the plurality of sequences of excitation samples isthe most acceptable sequence of excitation samples in complying with apredetermined error criterion.
 7. A method as claimed in claim 6,characterized in that the filtered sequences are decomposed intoorthogonal component sequences, and further comprising the step ofstoring sets of these mutually orthogonal component sequencesseparately.
 8. A method as claimed in claim 6, characterized in thathalf length filtered sequences are compared with half length sequencesof the digitized signal.
 9. A method as claimed in claim 8,characterized in that the filtered sequences are decomposed intoorthogonal component sequences, and further comprising the step ofstoring sets of these mutually orthogonal component sequencesseparately.
 10. An analog signal coding method comprising:sampling anddigitizing an analog signal to obtain digitized signal samples, andderiving filtered sequences of excitation signal samples from a mastercodebook containing a plurality of sequences of excitation signalsamples, characterized in that the analog signal coding method furthercomprises:decomposing the filtered sequences of excitation signalsamples into mutually orthogonal component sequences, forming at leasttwo slave codebooks by storing for the plurality of sequences ofexcitation samples the corresponding orthogonal component sequences inthe slave codebooks, comparing a sequence of digitized signal samplesand the mutually orthogonal component sequences stored in the respectiveslave codebooks to provide difference signals, and determining from thedifference signals which sequence of the plurality of sequences ofexcitation samples is the most acceptable sequence of excitation samplesin complying with a predetermined error criterion.
 11. A decoding systemfor obtaining an analog signal, comprising:a master codebook containinga plurality of sequences of excitation signal samples, and filteringmeans for deriving filtered sequences of excitation signal samples fromthe master codebook, characterized in that the decoding system furthercomprises:decomposing means for decomposing the filtered sequences ofexcitation signal samples into sets of mutually orthogonal componentsequences, means for obtaining a combined sequence by forming a weightedsum of the mutually orthogonal component sequences in response to anincoming coded signal, and means for transforming the combined sequenceinto an analog signal to provide a synthesized replica of a previouslycoded analog signal.
 12. A decoding method for obtaining an analogsignal, comprising deriving, from a master codebook containing aplurality of sequences of excitation samples, filtered sequences of saidexcitation samples, characterized in that the decoding method furthercomprises:decomposing the filtered sequences of excitation samples intosets of mutually orthogonal component sequences, obtaining a combinedsequence by forming a weighted sum of digitized signal samples toprovide difference signals of the mutually orthogonal componentsequences in response to an incoming signal, and transforming thecombined sequence into an analog signal to provide a synthesized replicaof a previously coded analog signal.